package Trab.ES1.Utilidades;

import Trab.ES1.Modelos.Categoria;
import Trab.ES1.Modelos.Comentario;
import Trab.ES1.Modelos.Grupo;
import Trab.ES1.Modelos.Ingrediente;
import Trab.ES1.Modelos.MiojoNao;
import Trab.ES1.Modelos.Receita;
import Trab.ES1.Modelos.Usuario;
import java.util.List;

/**
 *
 * @author Grupo H
 */
public class Criador 
{
    public boolean criaNovoUsuario(String login, String senha, String nomePublico)
    {
        List<Usuario> listaUsuarios = MiojoNao.getInstancia().getUsuarios();
        Usuario u = new Usuario(login, senha, nomePublico);
        if(!listaUsuarios.contains(u))
            return listaUsuarios.add(u);
        return false;
    }
    
    public boolean criaNovaReceita(String nomeReceita, String descricaoReceita, Usuario autor, int tempoPreparo)
    {
        List<Receita> listaReceitas = MiojoNao.getInstancia().getReceitas();
        Receita r = new Receita(nomeReceita, descricaoReceita, autor, tempoPreparo);
        if(!listaReceitas.contains(r))
            return listaReceitas.add(r);
        return false;    
    }
    
    public boolean criaNovaCategoria(String nomeCategoria)
    {
        List<Categoria> listaCategorias = MiojoNao.getInstancia().getCategorias();
        Categoria c = new Categoria(nomeCategoria);
        if(!listaCategorias.contains(c))
            return listaCategorias.add(c);
        return false;
    }
    
    public boolean criaNovoGrupo(String nomeGrupo, String descricaoGrupo, Usuario dono)
    {
        List<Grupo> listaGrupos = MiojoNao.getInstancia().getGrupos();
        Grupo g = new Grupo(nomeGrupo, descricaoGrupo, dono);
        if(!listaGrupos.contains(g))
            return listaGrupos.add(g);
        return false;
    } 
    
    public boolean criaNovoIngrediente(String nomeIngrediente)
    {
        List<Ingrediente> listaIngredientes = MiojoNao.getInstancia().getIngredientes();
        Ingrediente i = new Ingrediente(nomeIngrediente);
        if(!listaIngredientes.contains(i))        
            return listaIngredientes.add(i);            
        return false;
    }
    
    public Comentario criaNovoComentario(String texto, Usuario autor)
    {
        return new Comentario(autor, texto);
    }
}
